const { Switch } = require("../lib/types")

module.exports = {
    name: "ngx_http_core_module",
    map: {
        listen: [String, "80", "server"],
        root: [String, "html", ["http", "server", "location"]],
        absolute_redirect: [Switch, true, ["http", "server", "location"]],
        aio: [Switch, false, ["http", "server", "location"]],
        aio_write: [Switch, false, ["http", "server", "location"]],
        alias: [String, , "location"],
        auth_delay: [String, "0s", ["http", "server", "location"]],
        chunked_transfer_encoding: [Switch, true, ["http", "server", "location"]],
        client_body_buffer_size: [String, "8k|18k", ["http", "server", "location"]],
        client_body_in_file_only: [String, "off", ["http", "server", "location"]],
        client_body_in_single_buffer: [Switch, false, ["http", "server", "location"]],
        client_body_temp_path: [String, "client_body_temp", ["http", "server", "location"]],
        client_body_timeout: [String, "60s", ["http", "server", "location"]],
        client_header_buffer_size: [String, "1k", ["http", "server"]],
        client_header_timeout: [String, "60s", ["http", "server"]],
        client_max_body_size: [String, "1m", ["http", "server", "location"]],
        connection_pool_size: [String, "256|512", ["http", "server"]],
        default_type: [String, "text/plain", ["http", "server", "location"]],
        directio: [String, "off", ["http", "server", "location"]],
        directio_alignment: [Number, 512, ["http", "server", "location"]],
        disable_symlinks: [String, "off", ["http", "server", "location"]],
        error_page: [String, , ["http", "server", "location"]],
        etag: [Switch, true, ["http", "server", "location"]],
        if_modified_since: [String, "exact", ["http", "server", "location"]],
        ignore_invalid_headers: [Switch, true, ["http", "server"]],
        internal: [String, , "location"],
        keepalive_disable: [String, "msie6", ["http", "server", "location"]],
        keepalive_requests: [Number, 1000, ["http", "server", "location"]],
        keepalive_time: [String, "1h", ["http", "server", "location"]],
        keepalive_timeout: [String, "75s", ["http", "server", "location"]],
        large_client_header_buffers: [String, "4 8k", ["http", "server"]],
        limit_rate: [String, "0", ["http", "server", "location"]],
        limit_rate_after: [String, "0", ["http", "server", "location"]],
        lingering_close: [Switch, true, ["http", "server", "location"]],
        lingering_time: [String, "30s", ["http", "server", "location"]],
        lingering_timeout: [String, "5s", ["http", "server", "location"]],
        log_not_found: [Switch, true, ["http", "server", "location"]],
        log_subrequest: [Switch, false, ["http", "server", "location"]],
        max_ranges: [Number, , ["http", "server", "location"]],
        merge_slashes: [Switch, true, ["http", "server"]],
        msie_padding: [Switch, true, ["http", "server", "location"]],
        msie_refresh: [Switch, false, ["http", "server", "location"]],
        open_file_cache: [String, "off", ["http", "server", "location"]],
        open_file_cache_errors: [Switch, false, ["http", "server", "location"]],
        open_file_cache_min_uses: [Number, 1, ["http", "server", "location"]],
        open_file_cache_valid: [String, "60s", ["http", "server", "location"]],
        output_buffers: [String, "2 32k", ["http", "server", "location"]],
        port_in_redirect: [Switch, true, ["http", "server", "location"]],
        postpone_output: [String, "1460", ["http", "server", "location"]],
        read_ahead: [String, "0", ["http", "server", "location"]],
        recursive_error_pages: [String, "4k", ["http", "server"]],
        reset_timedout_connection: [Switch, false, ["http", "server", "location"]],
        resolver: [String, , ["http", "server", "location"]],
        resolver_timeout: [String, "30s", ["http", "server", "location"]],
        satisfy: [String, "all", ["http", "server", "location"]],
        send_lowat: [String, "0", ["http", "server", "location"]],
        send_timeout: [String, "60s", ["http", "server", "location"]],
        sendfile: [Switch, false, ["http", "server", "location"]],
        sendfile_max_chunk: [String, "2m", ["http", "server", "location"]],
        server_name: [String, "", "server"],
        server_name_in_redirect: [Switch, false, ["http", "server", "location"]],
        server_names_hash_bucket_size: [String, "32|64|128", "http"],
        server_names_hash_max_size: [String, "512", "http"],
        server_tokens: [String, "on", ["http", "server", "location"]],
        subrequest_output_buffer_size: [String, "4k|8k", ["http", "server", "location"]],
        tcp_nodelay: [Switch, true, ["http", "server", "location"]],
        tcp_nopush: [Switch, false, ["http", "server", "location"]],
        try_files: [String, , ["server", "location"]],
        types_hash_bucket_size: [String, "64", ["http", "server", "location"]],
        types_hash_max_size: [String, "1024", ["http", "server", "location"]],
        underscores_in_headers: [Switch, false, ["http", "server"]],
        variables_hash_bucket_size: [String, "64", "http"],
        variables_hash_max_size: [String, "1024", "http"]
    }
};